#ifndef LOG_H
#define LOG_H

#include <Arduino.h>

#define LOG_ENABLE true  // 控制日志的全局开关

#if LOG_ENABLE
// 定义 LOG 宏，使用 log_print 函数递归处理多个参数
#define LOG(...) log_print(__VA_ARGS__)
#else
#define LOG(...)  // 如果 LOG_ENABLE 为 false，则不输出日志
#endif

// 基础情况：当没有参数时，结束递归
inline void log_print() {}

// 模板函数：递归打印所有参数
template<typename T, typename... Args>
inline void log_print(T first, Args... args) {
  Serial.print(first);  // 打印当前参数
  log_print(args...);   // 递归处理剩余参数
}

#endif
